home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKitArchive.mbox / mbox / 000136_robert@steffi.demon.co.uk_Thu Feb 17 10:15:14 1994.msg < prev    next >
Internet Message Format  |  1994-10-30  |  6KB

  1. Return-Path: <robert@steffi.demon.co.uk>
  2. Received: from post.demon.co.uk by darth.byu.edu (NX5.67d/NX3.0M)
  3.     id AA00666; Thu, 17 Feb 94 10:10:49 -0700
  4. Received: by post.demon.co.uk id ac15432; 17 Feb 94 12:28 GMT
  5. Received: from steffi.demon.co.uk by post.demon.co.uk id aa13113;
  6.           17 Feb 94 12:04 GMT
  7. Received:  by steffi.demon.co.uk (NX5.67d/25-eef)
  8.     id AA12377; Thu, 17 Feb 94 11:52:02 GMT
  9. From: Robert Nicholson <robert@steffi.demon.co.uk>
  10. Message-Id: <9402171152.AA12377@steffi.demon.co.uk>
  11. Subject: Re: Breaking MiscKit into separate "levels" (WAS Re: MiscStringKit?)
  12. To: don@darth.byu.edu
  13. Date: Thu, 17 Feb 1994 11:52:00 +0000 (GMT)
  14. Cc: misckit@byu.edu
  15. In-Reply-To: <9402171000.AA00335@darth.byu.edu> from "Don Yacktman" at Feb 17, 94 03:00:43 am
  16. Cc: robert@steffi.demon.co.uk
  17. X-Mailer: ELM [version 2.4 PL22]
  18. Mime-Version: 1.0
  19. Content-Type: text/plain; charset=US-ASCII
  20. Content-Transfer-Encoding: 7bit
  21. Content-Length: 4757      
  22.  
  23. Don Yacktman wrote:
  24. > Well, I like this idea.  It might be a good way to go.  The question is then
  25. > how we set up the libraries; do we make level 2 mean that the .a file has
  26. > all of level 1 and level 0 in a single file, or do we make each level's
  27. > .a file separate, and then to use the level 2 lib you have to link against
  28. > the level 0 and level 1 lib?  Remember my whole point in creating the
  29. > MiscKit initially was to stick in a bunch of objects I use a lot so that I
  30. > could add one file -- the .a file -- in project builder and then I'm on my
  31. > way.  It's makes things so much more comfy for the lazy.  :-)
  32. > So I guess if disk space is no issue, the first option is the one the lazy
  33. > person in me likes.  However, it's not much work to add a few libs to
  34. > the project.  So since my disk space is at a premium, I think I'd in
  35. > reality prefer the second option.  I don't think that this would be too
  36. > terribly difficult to maintain, either.
  37.  
  38. I prefer multiple libraries.  ie. If I link with level 2 then I'm
  39. expected to link with all levels above (and before it) it.   Take the
  40. X11 libraries as an example.
  41.  
  42. X11
  43. Xt
  44. Xm
  45.  
  46. I don't like the notion where everything above and including level2 is in level 2's lib. MiscKit is still MiscKit then.
  47.  
  48. > Michael Pizolato's division is even finer-grained; I'm afraid that if
  49. > we break things up too far that it will make the MiscKit too confusing
  50. > to work with...but I think either scheme suggested would be pretty useful.
  51. > How do people prefer to split things up?  We could do a hybrid:
  52. > 0) C functions and macros only
  53. > 1) depends on Object, too
  54. > 2) depends on common classes
  55. > 3) depends on appkit
  56. > 4) adds palette support
  57.  
  58. Why is it necessary to have Object as a level? 
  59.  
  60. Are classes in level 1 completely portable to over environments?
  61.  
  62. Why can't we just think of
  63.  
  64. C functions macros etc.
  65. Object and Common Classes (ie. non-appkit)
  66. Appkit
  67. Palette
  68.  
  69. > Because of the way palettes are done, (4) might not be really necessary.
  70.  
  71. Michael, go into a bit more depth as to what you Palette support
  72. library contains.
  73.  
  74. > And perhapd the IB methods should only be present as a category in the
  75. > palette project, and not in the library itself anyway.  (cf. MiscString)  Does
  76. > anybody use the IB methods to get info about an object other than from IB?
  77. > If not, then maybe placing this in the palette projects would be best.
  78.  
  79. I'm currently using IB categories for each palette for things like
  80. getIBImage etc etc, but I'd like to hear more about Michael's palette
  81. support library.
  82.  
  83. > > The build process could produce either "misckit[012]" or just "misckit",
  84. > > or both, depending on flags (that's not asking too much, is it?).
  85. > I'd need a to learn a little more about Makefiles in order to do it this way,
  86. > but it shouldn't be too horrid, I think.
  87. > Then there's header organization...perhaps make four headers:
  88. > <misckit/level0.h>, <misckit/level1.h>, <misckit/level2.h>, and
  89. > <misckit/misckit.h>.  The last one just includes all of them; and
  90. > the level[12].h would include the lower numbered headers.
  91.  
  92. Well the first hurdle is to form some meaniful names.  I don't want to
  93. have to refer to a table whenever I see level[0-9].  However, the one
  94. advantage of this naming scheme is that is it easy to identify
  95. dependencies or at least possible dependencies. Perhaps we could use
  96. macros to avoid that naming problems.
  97.  
  98. > > The relevance of this to Robert's comments it that String and
  99. > > similar non-dependant classes could become part of a
  100. > > 'lightweight' Level 0 class.  It also addresses the question
  101. > > (in one of the newsgroups, I think) about what portions of
  102. > > the MiscKit are applicable to non-NeXT platforms. 
  103. > I think that such a scheme would answer those questions, and
  104. > provide useful objects for non-NeXT folks.  I think that would be
  105. > a good thing.  And right now, the AppKit is pretty much intertwined
  106. > throughout the MiscKit.
  107. > Now, there is an important thing to note:  The NeXT and GNU Object
  108. > classes _are_ slightly different; there are object methods in the GNU
  109. > and in Cox's book that are not in NeXT's object class.  Things like
  110. > deep/shallow copies, etc.  Perhaps we need a category for NeXT
  111. > folk to extend things so that we are building on common ground.
  112. > That's some food for thought...
  113.  
  114. A common object protocol is necessary. (Mr Pugh?)
  115.  
  116. > Oh, and suggested, we'd be better off using mnemonics than level
  117. > numbers.  Any suggestions here?
  118.  
  119. Absolutely, but it's important to be able to identify dependicies by
  120. name.
  121. ---
  122.    "You know what's wrong with you?"              (Audrey Hepburn, Cary Grant)
  123.        "No, what?"
  124.    "Nothing"                                      (Charade, 1963)
  125.                 (ASCII for text only messages)